package ontocompo.fractalcomponentmanager.api;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.HashMap;

import ontocompo.fractalcomponentmanager.enums.UpdateComponentType;

public interface ManagerItf extends Remote {
	public boolean loadAndInitApp(String appComponentUid) throws RemoteException;
	public String getHTMLInterface(String appComponentUid) throws RemoteException;
	public void updateUIElement(UpdateComponentType type, String appComponentUid, String uiElementId, String newValue) throws RemoteException;
	public void triggerAction(String appComponentUid, String uiElementId) throws RemoteException;
	
	public HashMap<String, String> getAvailableApps() throws RemoteException;
	public ArrayList<String> getLoadedAppStringList() throws RemoteException;
	public ArrayList<WebApplicationItf> getLoadedApp() throws RemoteException;
	public void selectAllUIElements(String appComponentUid) throws RemoteException;
	public void selectForSubstitution(String elementId) throws RemoteException;
	public void performSubstitution(String elementId) throws RemoteException;
	public void saveCompo(String appName) throws RemoteException;
	
	public void test() throws RemoteException;
}
